package util;

import java.io.File;

public class GAConfig {
    public static final int PopulationSize=100;
	public static final int TestCaseSize = 100; 	
	public static final int elitismNumBest=10;	
	//Random Testing 
	public static final int TestCaseRandomSize =200;	
	public static final int ArraySize=25;
	
public final static float	crossover_rate=0.80f;
public final static float SET_TO_NULL = 0.05f;
public static final int localSearchNum=5;

public final static int NumVarCut=2;
// Debugging
public final static boolean public_only = false;
public final static boolean DEBUG = false;
public final static boolean Silent = false;
public static final boolean SaveData=true;
//
public static  boolean UseReadWrietRelation=true; 
public static  boolean Seeding=true; 



//GA Operations
public  static final String CrossoverStrategy="crossover.SingleCrossOver";


/** the base directory (e.g. $HOME/workspace/project/ ) */
private static File dirBase;

/** source directory */
private static File dirSource;

/** directory with classes compiled by the user */
private static File dirCompiled;

/** directory with classes instrumented */
private static File dirInstrumented;
private static File dirGeneratedTests;
private static String algorithmName;


//public static String		classFilePath="C:/workspace/MAMDA_4_2014/TestSingleClasses/src/foo/Foo.txt";

//public static String		classFilePath="C:/workspace/MAMDA_4_2014/TestSingleClasses/src/Stack/Stack.txt";//StringTokenizer
//public final static String		classFilePath="C:/workspace/MAMDA_4_2014/jdom.git/CUT.txt";//AllList
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/shoppingcart/CUT.txt";
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/TestClasses/Fraction/Fraction.txt";//StringTokenizer
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/TestClasses/StringTkoenizer.txt";
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/TestSingleClasses/CUT.txt";

//public static String		classFilePath="C:/workspace/MAMDA_4_2014/JodaTime/CUT.txt";
public static String		classFilePath="C:/workspace/MAMDA_4_2014/Conzilla/CUT.txt";
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/NanoXML/CUT.txt";
//public final static String		classFilePath="C:/workspace/MAMDA_4_2014/commons/CUT.txt";
//public static String		classFilePath="C:/workspace/MAMDA_4_2014/commons-cli/CUT.txt";
public static void ConfigProject() {
	dirBase = new File(".");
	dirSource = new File("src");
	dirCompiled = new File("bin");
	dirInstrumented = new File("instrumented");
	dirGeneratedTests=new File("genTest");
}
public static File getDirCompiled() {
	ConfigProject();
	if(!dirCompiled.isAbsolute()) dirCompiled = new File(dirBase, dirCompiled.getPath()).getAbsoluteFile();
	return dirCompiled;
}

public static File getDirInstrumented() {
	ConfigProject();
	dirInstrumented = new File(dirBase, dirInstrumented.getPath()).getAbsoluteFile();
	return dirInstrumented;
}
public static File getDirGeneratedTests() {
	ConfigProject();
	dirGeneratedTests = new File(dirBase, dirGeneratedTests.getPath()).getAbsoluteFile();
	return dirGeneratedTests;
}

}
